Within the last few years, more and more business people and private individuals are utilizing cordless technology to access their communication services. Digital European Cordless Telecommunications ("DECT") is a communications standard optimised for local coverage, that is, where user density and call traffic are quite high. The U.S. version of the DECT standard is called Wireless Customer-Premises Equipment ("WCPE"). Typical sites for such applications include office buildings with wireless Private Branch Exchanges ("PBXes"), residential areas, public access areas such as airports and campuses and radio in the local loop ("RLL"). The DECT standard supports various medium, including voice and data. In general, DECT uses a time-division multiple access/time-division duplex ("TDMA/TDD") scheme for communicating between a handset and a base station.
The standard defines four layers of interconnectivity, which correspond approximately to layers 1-3 of the International Standards Organization Open Systems Interconnection ("ISO/OSI") model. The first layer is the physical layer, which defines radio parameters such as frequency, timing and power values, and bit and slot synchronization. The medium access control ("MAC") layer controls the establishment and release of connections between portable and fixed parts of the system. The data link control layer provides reliable data links to the network layer, for signaling, speech transmission, and circuit and/or packet switched data transmission. The network layer is the main signaling layer and specifies message exchanges for establishment, maintenance, and release of calls between the portables and the fixed parts of the network. Systems which adhere to the above standard utilize multiple processors and firmware located in the fixed units, e.g., radio controllers, to implement the functionality described in one or more of the above layers along with attendant management functions.
One prior art scheme uses a relatively simple layer processor structure for implementing specific portions of the network and data link control layers. Although this structure supports some of the basic functionality, the addition of features such as maintenance, measurement, synchronization, and a full blown network layer will probably overwhelm its capabilities to serially execute all of the required tasks. In particular, the prior art utilizes a kernel program that is primarily a "return-to-top" type of a kernel, where all tasks in a given priority are executed in series. Tasks at lower priority are executed only if there are no higher priority tasks pending in the execution queue. Caution must be exercised when using such a kernel since a high priority task that runs often might "starve" lower priority tasks. The prior art firmware recognized this fact and countered by forcing a majority of all its tasks to exactly one priority. In this case, the prior art selected the lowest priority. While this prevents starvation of tasks, it adds a level of restriction that makes it difficult to implement a system that requires processing tasks at different priorities. For instance, repetitive tasks that need to run often to poll message buffers of different processors must now run at the lowest priority. As traffic density increases, these tasks could easily slow down to the point at which message overflows occur. Although this occurs with any non-preemptive kernel, forcing execution of the tasks to run in series increases the severity of the problem.
Another problem with this prior art scheme is that it "double" buffers messages received from the switch processing element ("SPE"). In other words, messages from the SPE are sent to a preliminary processor buffer. The messages are then removed from the preliminary processor buffer and placed into a smaller buffer for further processing. Until this message is fully processed, the layer processor is inhibited from retrieving any new messages from the SPE. At the same time, there is no limit to the speed at which the preliminary processor can accept messages from the SPE. As traffic density increases and tasks get more complicated, translating into longer completion times, this artificially inserted double buffering will easily cause the overflow of SPE messages.
Another disadvantage of the prior art firmware structure is that it assumes the existence of only network and data link control layers. Consequently, the method used for processing messages is relatively simple. The network layer is scheduled for all messages, since all messages are assumed to belong to the network layer. Once the network layer assumes control, it decides whether or not it can process the message. If it cannot, the message is passed on to other modules. With this scheme, all new tasks suffer the latency of defaulting the message to the network layer. A major drawback of this structure is that the addition of new features requires knowledge of where to place the appropriate code for jumping to the new modules.
Accordingly, there is a need to provide a processor structure and firmware, which maintains a given priority scheme, and determines message destination in a more direct and efficient manner, but remains flexible in the ability to add new features or modify existing features in view of the traffic density.